home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 22
/
Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso
/
Aminet
/
util
/
shell
/
ViNCEd.lha
/
ViNCEd
/
Include
/
VNCBase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-29
|
10KB
|
248 lines
#ifndef VNC_VNCBASE_H
#define VNC_VNCBASE_H
/*********************************************************
** ViNCEd **
** a DOS - window handler **
** **
** © 1991-97 THOR-Software inc. **
** Version 3.50 **
** **
** program version 1.23 05/03/91 THOR **
** update version 1.25 06/19/91 THOR **
** header file 06/19/91 THOR **
** updated to 3.30 03/31/97 THOR **
** updated to 3.40 05/08/97 THOR **
** updated to 3.50 07/28/97 THOR **
** **
** ViNCEd Library Base **
**-----------------------------------------------------**
** **
** all use at your own risk,etc.,etc. **
** **
** Everything declared as "reserved" or **
** "not used" is NOT free for your use, **
** it will propably used in a later release. **
** All FREE entries are free for public **
** use and are, if not otherwise noticed, **
** initialized as ZERO **
*********************************************************/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif
#ifndef EXEC_INTERRUPTS_H
#include <exec/interrupts.h>
#endif
#ifndef EXEC_PORTS_H
#include <exec/ports.h>
#endif
#ifndef EXEC_SEMAPHORES_H
#include <exec/semaphores.h>
#endif
#ifndef EXEC_EXECBASE_H
#include <exec/execbase.h>
#endif
#ifndef EXEC_IO_H
#include <exec/io.h>
#endif
#ifndef EXEC_DEVICES_H
#include <exec/devices.h>
#endif
#ifndef INTUITION_INTUITIONBASE_H
#include <intuition/IntuitionBase.h>
#endif
#ifndef GRAPHICS_GFXBASE_H
#include <graphics/GfxBase.h>
#endif
#ifndef DOS_DOS_H
#include <dos/dos.h>
#endif
#ifndef DOS_DOSEXTENS_H
#include <dos/dosextens.h>
#endif
#ifndef UTILITY_UTILITY_H
#include <utility/utility.h>
#endif
#ifndef VNC_PREFS_H
#include <vnc/prefs.h>
#endif
#ifndef VNC_WINDOW_H
#include <vnc/window.h>
#endif
#ifndef VNC_MENU_H
#include <vnc/menu.h>
#endif
/* The vnc.library base
This one is READ ONLY!
DO NOT TOUCH, use the library functions instead.
Some of the library bases in here might get invalid,
even if the library IS AVAILABLE.
Disk based libraries are not held open by ViNCEd!
BE WARNED!
*/
struct VNCBase {
struct Library vnc_Lib; /* the exec lib node */
UWORD vnc_wordfill1; /* LW alignment */
struct IntuitionBase *vnc_IntBase; /* ptr to intuition */
struct GfxBase *vnc_GfxBase; /* ptr to graphics */
struct Library *vnc_LayersBase;/* ptr to layers */
struct DosLibrary *vnc_DosBase; /* ptr to dos */
struct Device *vnc_ConsoleBase; /* ptr to console */
ULONG vnc_Flags; /* see below */
struct VNCPrefs *vnc_Prefs; /* current prefs.
DO NOT READ! Use
the library functions!*/
BPTR vnc_Segment; /* library segment */
struct MsgPort *vnc_InputPort; /* used for input.device */
struct IOStdReq *vnc_InputIO; /* ditto */
struct Interrupt *vnc_Immediate; /* imm. input handler */
struct Interrupt *vnc_InputIRQ; /* delayed input handler */
struct IOStdReq *vnc_ConsoleIO; /* console IO pkt */
struct Library *vnc_IffBase; /* IFF if open.
DO NOT READ! Might get
invalid!*/
struct ViNCWindow *vnc_ActualCN; /* foreground window */
struct Library *vnc_LocaleBase;/* locale.lib.
DO NOT READ! Might get
invalid!*/
struct ViNCMenu *vnc_EdMenu; /* Menu constructor, if
available */
struct ViNCMenu *vnc_EditMenu; /* reserved */
char *vnc_ReqTitle; /* TAB requester title */
struct UtilityBase *vnc_UtilityBase; /* ptr to utility, if
available */
struct ExecBase *vnc_SysBase; /* ptr to exec for
speedup */
char *vnc_SnipVec; /* snip data. DO NOT
touch */
void *vnc_Obsolete2; /* no longer used.
DO NOT touch! */
struct MinList vnc_VNCList; /* list of all windows */
struct MinList vnc_UserList; /* all registered users,
reserved */
struct MinList vnc_SnipList; /* all hooks to call at
snip time */
struct MinList vnc_HookList; /* all added hooks */
struct SignalSemaphore vnc_PrefsSema; /* access to prefs */
struct SignalSemaphore vnc_ListSema; /* access to hook list */
struct SignalSemaphore vnc_SnipSema; /* access to sniplist */
struct SignalSemaphore vnc_WindowSema;/* access to windowlist */
struct MsgPort *vnc_Supervisor;/* link to supervisor task */
struct MsgPort *vnc_SuperPort; /* send msgs there */
struct Message *vnc_DeathMsg; /* send this to kill super */
struct Library *vnc_WBBase; /* ptr to workbench lib
if open */
struct Library *vnc_IconBase; /* ptr to icon base */
struct Library *vnc_ArpBase; /* private, not guaranteed to be legal */
struct Library *vnc_AslBase; /* private, do not use */
struct Library *vnc_MoreBases[5]; /* reserved room */
ULONG vnc_NextID; /* for UniqueID if
utility is not available */
char *vnc_SuspendStr;/* string for suspend msg */
char *vnc_CloseRqBody; /* close requester body
string */
char *vnc_CloseRqOK; /* positive gadget */
char *vnc_CloseRqCn; /* negative gadget */
char *vnc_NoErrorStr; /* "no error" or localized
version */
char *vc_LoadFromStr; /* the hail text of the Open... requester */
char *vc_SaveToStr; /* ... of Save As */
char *vc_LdHistoryStr;/* ... of Open History */
char *vc_SvHistoryStr;/* ... of Save As History */
char *vc_FailedLoad; /* contents of the open fail requester */
char *vc_FailedSave; /* contents of the save fail requester */
char *vc_AcceptStr; /* the contents of the accept button */
/* in a failure requester */
/* more stuff beyond this point, do not touch!*/
};
/* Note: If you MUST hold more than one semaphore at once, lock them
in the following order to prevent deadlocks:
highest: vnc_WindowSema in library list of ViNCEd windows
vcn_Semaphore in window access to single window
LockWindow(),UnLockWindow()
vnc_SnipSema in library access to snipvec
vcn_OwnerSema in window access to ownerlist
vnc_PrefsSema in library access to prefs
LockPrefs(),UnLockPrefs()
lowest: vnc_ListSema in library access to hooklist
Use the library functions to grand access where available!
*/
/* Defined flags in vnc_Flags: */
/* Input handler active ?*/
#define VNC_INPUTENABLED_BIT 0
#define VNC_INPUTENABLED_MASK (1L<<0)
/* Library should be removed ?*/
#define VNC_FLUSHING_BIT 1
#define VNC_FLUSHING_MASK (1L<<1)
/* snip vec up to date ?*/
#define VNC_UPDATE_BIT 2
#define VNC_UPDATE_MASK (1L<<2)
/* external snip vec written?*/
#define VNC_WRITTEN_BIT 3
#define VNC_WRITTEN_MASK (1L<<3)
/* library localized ?*/
#define VNC_LOCALIZED_BIT 4
#define VNC_LOCALIZED_MASK (1L<<4)
/* notification started ?*/
#define VNC_NOTIFIED_BIT 5
#define VNC_NOTIFIED_MASK (1L<<5)
/* running in 1.2/1.3 ?*/
#define VNC_OLDOS_BIT 6
#define VNC_OLDOS_MASK (1L<<6)
/* welcome message printed ?*/
#define VNC_STARTUP_BIT 7
#define VNC_STARTUP_MASK (1L<<7)
#endif